In many computing scenarios, various components may use an instance of a data collection, such as a class, a data structure, or a database record. These data collections are often stored and utilized according to a well-defined format identifying the number, types, and properties of the elements of the data collection (e.g., instances of a data structure may be structured as a four-byte signed integer, eight one-bit Boolean values, and a ten-character string.) Such data collections may also be shared among various components, such as devices communicating over a network or processes communicating through interprocess communication. The sharing may often involve serializing the elements of the data collection in a manner that omits information about the structure of the elements represented therein, and simply comprises a block of binary data. However, if the communicating components have a mutual understanding of the structure of the data collection, such instances may be exchanged and properly handled even in the absence of structural metadata.